50+ 实用的 Docker 工具推荐
容器生态系统比以往任何时候都发展更快,拓展更迅速,与此同时,还出现了很多 Docker 工具和服务,仅仅是理解现有的这些选项,都是一项令人畏惧的任务。不管你是初学者还是专家,是开发者还是持续集成工程师,SRE 还是平台架构师,这份列表都将是你的指南,帮助你理解最受欢迎的产品,并在每一个相应开发阶段优化对接 Docker。
Docker 工具分类列表
编排和定时任务
持续集成/持续开发 (CI/CD)
监控
日志
安全
存储/卷管理
网络
服务发现
编译
管理
1
编排和调度
1. Kubernetes
Kubernetes 是目前市场上可用的容器编排引擎中最受欢迎的一个。最初开始于一个谷歌项目,然后有上千团队用它在生产环境上部署容器。谷歌宣称每周使用 Kubernetes 运行数十亿的容器。
该工具的工作原理是,把构成应用的容器分组为更容易管理和发现的逻辑单元。
链接: https://kubernetes.io
费用:免费
2. Docker Swarm
Swarm 是 Docker 提供的关于在很多服务器上如何编排和调度容器问题的一个解决方案。Swarm 被包含在 1.12.0 版本之后的 Docker Engine 中,提供一些高级特性,例如:服务发现,负载均衡,伸缩能力和安全性。
Swarm 将继续 Docker 的传统:关注简单化和开发者体验。可以说,它比 Kubernetes 更容易使用。
链接: https://www.docker.com
成本: 社区版免费
3. Mesosphere DC/OS
Mesosphere 数据中心操作系统(DC/OS)是一个集成化的开源平台,用于在 Apache Mesos 分布式系统内核上构建数据和容器。它将一个数据中心的多个机器,当做一个或多个集群,无论是在云端还是使用预置软件。DC/OS 能够在同一个环境中部署容器并管理无状态应用和有状态负载。
可以与 Docker Swarm 和 Kubernetes 配合工作。
链接: https://dcos.io/
费用: Mesosphere DC/OS订购包是根据在你环境中使用的节点数量(物理节点或者虚拟节点)来收费。
4. Amazon ECS
作为亚马逊 web 服务的容器编排解决方案,Amazon ECS 是一个高度可扩展的管理服务,它允许开发者在 EC2 实例上运行容器化应用。它由多个内置组件构成,支持对 Docker 集群、任务和服务的简单的调度和部署。
虽然不支持在 EC2 之外运行容器,但是它也包括了 AWS 服务的优点,例如:CloudTrail、CloudWatch、Elastic Load Balancers 等等。
链接: https://aws.amazon.com/ecs/
费用: Amazon ECS 没有额外费用。 你只需要购买存储和运行你的应用所需的 AWS 资源,例如:EC2 实例,EBS 卷。
5、Azure Container Service(AKS)
一种专门用在 Azure 虚拟机上的管理服务(开源),提供必要的工具去创建、配置和管理基于 Docker 容器的基础设施。ACS 简化了基于容器的开发和支持 K8S,Mesospere DC/OS 或 Swarm 的部署。
使用应用管理工具去管理和编排,使用标准化的 API 接入。
链接:https://azure.microsoft.com/en-us/services/container-service/
费用:只为使用的虚拟机及相关的存储和网络资源付费
6、Google Container Engine(GKE)
基于 K8S 的 GKE 可以部署,管理及伸缩运行在谷歌云上的容器化应用。GKE 的目标是通过提升容器的管理能力去优化IT团队的生产力。GKS 通过良好的用户体验和直观的命令行工具隐去众多简单或者复杂的管理任务。
GKS 基 于K8S。使用 GKE,无需学习 K8S, 理解 K8S 的基本概念,将有助于 GKE 的使用。
链接:https://cloud.google.com/container-engine/
费用:0-5 个节点免费,6 个节点以上,0.15 美元/小时/集群(109.50 美元/月/集群)
7. Cloud Foundry's Diego
Cloud Foundry 使用其 Diego 架构来管理“garden”环境中的应用程序容器。Garden 遵循 Linux 的 Open Container Initiative 容器托管指南,并通过 Diego 的其他组件分离。Diego 元素通过云控制器提供应用程序调度和管理功能。
链接: https://docs.cloudfoundry.org/concepts/diego
费用: 免费
8. Marathon
Marathon 是一个建立在 Apache Mesos 上的私有生产级平台即服务(PaaS)。
Marathon 框架有望扩展 Docker 化应用程序,并在必要时扩展到更多节点以增加可用的资源池。它也可以作为一个容器编排工具来为容器化工作负载提供故障恢复。Marathon 自动处理硬件或软件故障,并确保应用程序“始终在线”。
链接: https://mesosphere.github.io/marathon/
费用: 免费
9. HashiCorp Nomad
Nomad 是一款能够调度所有虚拟化,容器化和独立应用程序的独立二进制工具,支持 Linux、Mac 和 Windows 。 从单个容器到数千个群体,Nomad 允许你几分钟内在5000台主机上运行100万个容器。 Nomad 通过在更少的服务器资源上进行有效地分配,来帮助更多的应用程序提供利用率,同时降低成本。
链接:https://www.nomadproject.io/
费用:免费
10. Helios
Helios 起初作为 Spotify 的内部工具,可确保数百个微服务器在数千台服务器上高效工作。 它能够大规模部署和管理容器,并且配备了基于 HTTP 的 API 以及命令行客户端。
Helios 不需要特定的网络拓扑; 它只需要一个 ZooKeeper 集群和一个运行该工具的机器上的 JVM 。 它是一个很有用的开源项目。
链接:https://github.com/spotify/helios
费用:免费
11. Rancher
Rancher 不仅仅是容器编排工具,它还是一个完整的满足在生产环境运维 Docker 的容器管理平台。
RancherOS 是一个基于容器的操作系统,它能提供很多基础设施服务,例如:全局和本地的负载均衡,多主机网络,磁盘卷快照等等。Rancher 也集成了原生的 Docker 管理能力,例如:Docker Machine 和 Swarm 。
链接:http://rancher.com/
是否收费:免费
12. Nebula
Nebula 是为 Docker 的编排而生的全新的开源项目,它被设计用来管理大量规模化集群场景。这个工具是通过根据需要横向扩展项目组件来达到这一目标。项目目标是要实现对物联网设备的 Docker 编排,就像对 CDN 或者边缘计算等分布式服务的编排一样好。
Nebula 能够通过调用一个 API 实现同时对上万个遍布全球的物联网设备的更新。Bebula 目标是要帮助开发人员和运维人员能够简化处理物联网设备,就像处理分布式 Docker 容器化应用那样。
链接:http://nebula.readthedocs.io/en/latest/
是否收费:免费
2
持续集成/持续部署 (CI/CD)
13. Jenkins
Jenkins 是领先的CI工具,使开发和运营团队能够完成应用程序的自动化构建和测试周期。因此,它已经成为与 DevOps 同义的工具。Jenkins 是一个独立的基于 Java 的程序,开箱即用,提供了数百个插件,可以与栈中的其他工具集成。该工具使你能够快速配置构建代理,部署工件,然后快速拆除。
费用: 免费
14. CircleCI
CircleCI 致力于帮助软件团队专注于为客户提供价值,而不是维护 CI 基础架构。
CircleCI 通过使 CI 过程更快、更简单来提高 IT 团队的工作效率。它支持快速集成并允许你在注册后立即构建和部署。通过 SSH 进行手动调试,并在开始项目之后立即动态自适应容器的数量。
链接:https://circleci.com/
费用: 第一个容器是免费的;开源项目免费数目+3;额外的容器需要每个容器每月 50 美元
15. Travis CI
Travis CI 是一个免费的开源 CI 项目,通过自动构建和测试代码更改来提高开发过程的效率。软件即服务(Saas)平台随即能够对代码更改的成功提供即时反馈。
Travis CI 还能够通过管理部署和通知来自动化开发过程的其他部分。
链接: https://travis-ci.org/
费用: 免费
16. CodeShip
CodeShip 是一个完全可定制的 CI 平台,通过与已建立的 Docker 工作流程协作,为 Docker 提供本地支持。该平台致力于提高速度和安全性,其工作原理基于自动化测试和部署任务,提供完整的构建环境控制。它提供了对许多其他云平台和编排工具的支持。
链接:https://codeship.com/
费用:
基础版: 每月免费构建100次,费用从每月$49起
专业版: 每月$75起
17. GitLab CI
GitLab 整合了 CI、CD 和代码审查来处理整个应用程序的生命周期。它与 Docker Engine 上的 GitLab runner 结合使用,以支持应用程序的自动化测试和构建。其他功能还包括活动流、IDE、问题跟踪和存储库管理。GitLab CI 还有一个内置的容器注册表来扫描和存储 Docker 存储库。
链接: https://about.gitlab.com/features/gitlab-ci-cd/
费用:
社区版:免费,不限用户数
企业初级版: 每用户每月$3.25
企业旗舰版: 每用户每月$16.59
18. Shippable
使用 Shippable 加快软件交付; 作为开发人员提供的 SaaS 平台,它大大缩短了构建、测试和部署代码到生产所需的时间。Shippable 被设计成一个一站式的自动化平台,通过提供完整的工作流可视性实现了 DevOps 的实践和优化创新。简单的即插即用接口意味着可以与许多其他应用程序框架和技术栈轻松集成。
链接: https://www.shippable.com/
费用:
免费: c4.large节点,无构建次数限制,1个并发作业
每月$25/75/150: c4 large/xlarge/2xlarge节点,每个并发作业
企业级插件支持: 每月$500起
19. CodeFresh
CodeFresh 提供了一个完整的工具链,使用它开发人员可以创建和自动化交付管道。 这些 Docker 本地 CI/C D管道基于 Kubernetes 构建,通过缓存提供快速而高效的资源管理。CodeFresh 将企业级的注册表与 Kubernetes 的无缝连接和部署相结合。
链接: https://codefresh.io/
费用:
免费(仅限公开的仓库)
基础版: 每月$99起 (公开的&私有的仓库)
专业版: 每月$299,使用SSH的专用节点
20. Buddy
立即构建、测试和部署应用程序。Buddy 是一个 CI/CD 和用户反馈平台,拥有友好的用户界面,快速集成以及使得持续部署更加高效的工具。它支持所有流行的语言和框架,包括 Angular,Ruby,Python,PHP/Laravel,Node.js 和 .NET Core。
链接: https://buddy.works/
费用:
自由职业者: 每月$49
团队: 每月$99
软件作坊: 每月$199
Mega: 每月$299
21. Drone
作为一个开源 CI 和部署即服务的平台,Drone 构建在 GO 语言和 Docker 的容器技术之上。该平台无需安装,配置和服务器维护,并且无缝集成了 BitBucket,Heroku,GitHub 等工具,能够自动进行代码构建,测试和部署。
链接: https://drone.io/
费用:
Nano: $125/月
Micro: $250/月
Mega: $500/月
22. Wercker
作为一个 Docker 原生 CI 和 CD 自动化平台,它用来帮助软件开发者构建和部署他们的应用和复杂的微服务架构。以天然集成了 Kubernetes 为特征,Wercker 让你的部署工作流自动化,这样你就可以聚焦在构建应用上了。
链接: http://www.wercker.com/
费用: 社区版: 免费; 虚拟专用管道: $350起/月
3
监控
23. Sumo Logic
Sumo Logic 是一款云原生日志审查工具,可提供高级分析,可视化和报警选项。其度量监控解决方案提供实时安全和操作信息,并允许你诊断和解决所有应用和基础架构问题。机器学习分析还意味着在威胁和异常成为问题并影响最终用户之前,快速发现和预测威胁和异常。
链接:https://www.sumologic.com/
免费:每天最高500MB
专业:日志和指标:$90/月,1GB /天
企业:日志和指标:$150/月,1GB /天
24. Prometheus
Prometheus 由 SoundCloud 开发,是一个开源的系统监控和警报工具包。它包含许多方面的监控,例如度量标准生成和收集,结果可视化以及发生异常时的警报功能。 Prometheus 擅长于记录数字时间序列,并补充了以机器为中心的监控以及高度动态的面向服务的体系结构。
链接:https://prometheus.io/
费用:免费
25. Sysdig
Sysdig 开源版是所有 Sysdig 产品的核心技术。该开源版工具旨在提供详细的单机故障定位,并且以基于接口的命令行方式工作。
链接: https://www.sysdig.org/
费用:
开源版: 免费
基础版: $20/月
专业云版: $30/月
专业软件: 价格面议
26. Sysdig Monitor
Sysdig Monitor(正式叫法为 Sysdig Cloud )是 Sysdig 用来生产并分析系统级信息和实时数据的商业解决方案。旨在作为一个 Linux 系统级别的故障定位工具,它提供了深入的容器可视化,在 Docker 环境中非常有用。
链接: https://sysdig.com/product/how-it-works/
费用: 根据云和软件版本灵活定价
27. Datadog
Datadog 是一个基于软件即服务的运行在大规模云环境上的数据分析平台,它能从服务器,数据库和应用程序中生成并收集度量指标或数据事件。该全栈监控服务提供对 Docker、Kubernetes 和 Mesos 的支持。
链接:https://www.datadoghq.com/
费用:
免费版:最多5个主机
专业版: $15/主机/月
企业版: $23/主机/月
28. New Relic
作为行业领袖,New Relic 是一个纯粹的基于软件即服务的性能管理解决方案,它能让开发者实时的诊断并确定应用程序的性能问题。它的应用性能监控(APM)能够提供即时可视化,并且在基础设施内的 Linux 代理能够自动收集 Docker 容器度量指标(运行在基础主机上的)。
链接: https://newrelic.com/
费用:
自托管环境: 专业版 $149/月; 基础版: $75/月
基于云的可选配置: 取决于供应商和实例大小、运行时长和数量。
29. cAdvisor
Google 的 cAdvisor(Container Advisor) 是一个监控解决方案,它分析在 Docker 中运行的容器中的所有性能特征和资源使用情况。 该工具将生成并收集容器度量标准,例如网络统计信息,资源隔离参数以及资源使用情况的完整历史记录。
链接: https://github.com/google/cadvisor
费用:免费
4
日志
30. Logspout
Logspout 是帮助管理在 Docker 容器中运行的程序生成的日志的一个很好的工具。 它将容器应用日志路由到单独位置(例如,传送到 JSON 对象或通过 HTTP 可用的流式端点)。 Logspout 也有一个可扩展的模块系统。
链接:https://github.com/gliderlabs/logspout
费用:免费
31. Fluentd
Fluentd 是一个开源数据收集器 —— 统一和记录所有其他容器日志的容器。 Fluentd 拥有 500 多个插件,可连接到许多数据源和数据输出来收集事件,并进行标记以在需要的地方路由它们。这种基于标签的路由可以使复杂的路由简洁地表达出来。
链接:https://www.fluentd.org/
费用:免费
32. Logstash
作为 Elastic Stack 的一部分,Logstash 与 Beats,Elasticsearch 和 Kibana 一起运行会非常不错。 它是一个开源的服务器端处理管道,可以传输和处理日志、事件或其他数据。
链接:https://www.elastic.co/products/logstash
费用:免费
33. syslog-ng
使用 syslog-ng 从各种资源上采集日志,并且在转发到不同的目的地之前,几乎实时地处理这些日志。作为一个可靠的日志管理基础架构,syslog-ng 结合了高性能处理和丰富的消息解析及重写能力。
链接: https://syslog-ng.org/
费用: 免费 (高级版根据需求定价)
5
安全
34. Clair
Clair 是一个开源项目,旨在识别和分析 Docker 和 appc 应用容器中的漏洞。Clair 定期从自定义和可配置的资源组中提取漏洞元数据,以便于识别这些容器镜像(包括其上游)中的威胁。
链接: https://coreos.com/clair/docs/latest/
费用: 免费
35. Aqua Security
Aqua Security 能够工作在任何平台上,通过提供全栈安全来保护基于容器的应用程序。作为专用平台, Aqua Security 在开发阶段甚至更早就能彻底的掌控你的容器环境和进程。它是一个综合性的工具,能够提供完全可视化的管理。
链接: https://www.aquasec.com/
费用: 组合定价:所选软件计划费用加上必需的虚拟机 Azure 基础设施费用。
36. Twistlock
Twistlock Security Suite 旨在解决基于容器的应用程序中的安全问题。它是一个端到端的安全解决方案,通过增加对 Docker 容器工作方式的监控层数来检测漏洞。
Twistlock 加固容器镜像,并且在应用程序的生命周期过程中执行安全策略。
链接: https://www.twistlock.com/
费用: 软件定价是根据所选的订阅版和基础设施选项来决定的。
37. Docker Bench for Security
Docker Bench for Security 是一个可以在任意 Docker 主机上运行的预构建打包容器。它是一组需要使用 root 用户执行的 Bash shell 脚本。该测试检查在生产中部署 Docker 容器的常见最佳安全实践。
链接: https://hub.docker.com/r/docker/docker-bench-security/
费用: 免费
38. Docker Notary
Notary 是一个开源的 Docker 项目,提供了在数据收集中的安全性。运行 Notary 服务来发布和管理任意内容。对发布的集合进行数字签名,并允许用户验证该内容的完整性和来源。
链接: https://github.com/docker/notary
费用: 免费
6
Storage/Volume 管理
39. Convoy
由 Rancher 创建的 Docker Volume Plugin ,用于管理持久性容器卷。Convoy 是一个开源的 Docker volume 驱动程序,可以在任何地方对 Docker 数据卷进行快照、备份和恢复。 它在 AWS 上创建 Docker 数据卷 ,并提供所有的 Elastic Block Store 功能和性能支持。同时,会获取现有的 EBS 卷并使用它来生成附加到 Docker 容器的数据卷。
链接: https://github.com/rancher/convoy
费用: 免费
40. Portworx
Portworx 是一个分散存储解决方案,用于持久性、共享和复制卷; 它可以大规模地自动部署和运行数据服务。
链接: https://portworx.com/
费用: 免费
41. Blockbridge
Blockbridge Volume Plugin 为具有高级安全性、移动性、备份和恢复功能的容器应用程序提供高性能存储。通过在 Docker 1.13+ 上的 “Managed Docker Plugin” ,能体验到 Docker 原生的安装管理和生命周期管理。
链接: http://www.blockbridge.com/
费用: 免费
42. Flocker
使用此开源数据 volume 协调器可轻松管理 Docker 式的应用程序和容器存储。
Docker 容器的短暂特性意味着当容器被删除时,其存储将丢失。Flocker 允许你在主机更改时通过迁移数据和容器来永久存储数据。
链接: https://clusterhq.com/flocker/
费用: 免费
7
网络相关
43. flannel
Flannel 是一种简单易用的方法,专为 Kubernetes 而设计,可通过在集群中的多个节点之间使用 Layer 3 IPv4 网络来配置安全网络结构。它并不控制容器如何与主机平台联网,而只是(控制)如何在主机之间传输流量。
链接: https://coreos.com/flannel/docs/latest/
费用: 免费
44. Weaveworks
Weaveworks 为开发人员提供了一种高效的方式来连接、观察和控制 Docker 容器。 它创建了一个灵活的虚拟网络基础设施,连接在已部署在多个主机上的容器之间。
Weaveworks 扩展了像 Kubernetes 和 Docker Swarm 这样的容器编排器,提高了效率,并简化了生产中容器的管理。
链接: https://www.weave.works/
费用:
标准版: 每个节点每月$30或每年$300
企业版: 每个节点每月$150或每年$1500
45. Project Calico
Calico 是一个高度可扩展的开源项目,提供了对虚拟网络的 Layer 3 方法,可支持跨无数计算主机上的大量虚拟机集群。此工具的简化网络模型设计支持为你的每个工作负载配置细粒度的连接策略,并允许集中管理 SDN 。
链接: https://www.projectcalico.org/getting-started/docker/
费用: 免费
8
服务发现
46. Consul
Consul 是一个易于使用的、基于开放标准的服务发现方法,可在 FreeBSD、Linux、Mac OS X、Solaris 和 Windows 上运行。Consul 支持多个地区多数据中心,并无需复杂的配置。主要功能包括:服务发现、健康检查和键/值存储等。
链接: https://www.consul.io/
费用: 免费
47. Etcd
etcd 是由 CoreOS 创建的,为共享配置和服务发现而设计的,一个高可靠的 key-value 存储。该工具提供了一个可靠的方式在集群机器上来存储数据。它是专门为运行 CoreOS 的集群而构建的,同时也可以工作在其他操作系统上,包括 BSD、Linux 和 OS X 。
链接: https://coreos.com/etcd/
费用: 免费
48. Proxy
Proxy 作为一个简单易用的轻量级容器,由 Factorish 创建。该工具基于 alpine/gliderlabs ,并使用 Nginx 作为 HTTP 负载均衡器。
链接: https://hub.docker.com/r/factorish/proxy/
费用: 免费
9
构建
49. Packer
Packer 是一个 Hashicorp 工具,用于构建机器镜像(包括 Docker ),与配置管理工具集成(像 Ansible,Chef 和 Puppet )。它是一个轻量级工具,只需要通过一个源配置,就可以运行在各个主流 OS 上。
链接: https://www.packer.io/docs/builders/docker.html
费用: 免费
50. Whales
通过 Whales ,可以自动 Docker 化你的应用程序。唯一需要的是在宿主机器上安装并运行 Dokcer 。然后,Whales 就可以通过输出必需文件的方式,用 Docker 来运行你的应用程序。
费用: 免费
51. Gradle
Gradle 插件使得所有的构建脚本与 Docker 守护进程交互更简单。每个任务委托给 Docker-client,然后通过 HTTP 连接到 Docker 的远程 API。大多数配置参数是可选的。
费用:免费
10
管理类
52. Portainer
Portainer 是 Docker 环境中的开源的轻量级管理用户界面。Portainer 工作在 Docker API 之上,并提供 Docker 的详细概述。其功能包括管理容器、图像、网络和卷的功能。
链接:https://portainer.io/
费用: 免费
这就是完整的清单了!有任何意见或建议,欢迎留言或私信反馈。